package com.bxait.toymail.product.service;

import com.baomidou.mybatisplus.extension.service.IService;
import com.bxait.com.utils.PageUtils;
import com.bxait.com.vo.product.AttrRespVo;
import com.bxait.com.vo.product.AttrVo;
import com.bxait.toymail.product.entity.AttrEntity;

import java.util.List;
import java.util.Map;

/**
 * 商品属性
 *
 * @author chen
 * @email 2277411582@qq.com
 * @date 2023-03-13 22:26:35
 */
public interface AttrService extends IService<AttrEntity> {

    PageUtils queryPage(Map<String, Object> params);
    // 按照属性的类型,以及所在的三级分类进行分页获取属性信息
    PageUtils queryBaseAttrPage(Map<String, Object> params, Long cateLogId, String attrType);
    // 保存属性信息,以及属性分组信息
    void saveAttr(AttrVo attr);
    // 根据属性id,获取属性的详情信息
    AttrRespVo getAttrInfo(Long attrId);
    // 修改属性,及其属性分组信息
    void updateAttr(AttrVo attr);
    // 获取当前属性分组下的所有属性
    List<AttrEntity> getRelationAttr(Long attrGroupId);
    // 获取当前属性分组没有关联的属性,并且这个属性也没有被别的属性分组所关联
    PageUtils getNoRelationAttr(Map<String, Object> params, Long attrGroupId);
    // 获取当前属性中可以被检索的属性
    List<Long> selectSearchAttrIds(List<Long> attrIds);
}

